home *** CD-ROM | disk | FTP | other *** search
/ Languguage OS 2 / Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO / a_utils / _archvrs / unix / unzip51 / bugs.lon next >
Encoding:
Text File  |  1992-11-04  |  21.8 KB  |  511 lines

  1. Bugs (real and/or imagined):
  2. ---------------------------
  3.  
  4.  - funzip/more/decryption/no-echo bug:  race condition(?) causes terminal
  5.     to be "reset" to no-echo state
  6.  - large file incorrectly compressed by PKZIP or decompressed by unzip [bottom 
  7.     of BUGS.long]
  8.  - directory dates/times (special Unix perms?) not restored
  9.  - NT:  SetFileAttributes never called
  10.  - NT:  only FAT (and HPFS?) filesystem fully supported; VMS-like errors with
  11.     NTFS (Scott Briggs, bottom of BUGS.long)
  12.  - VMS docs out of date
  13.  - Macintosh (100200), Atari (020000) external file attributes not interpreted
  14.     correctly (both unzip and zipinfo)
  15.  - pkbug error:  zipfile with incorrect csize and/or ucsize--check for end of
  16.     compressed (csize) data in uncompression routines:
  17.       unimplod.c:    while ((!zipeof) && ((outpos + outcnt) < ucsize)) {
  18.       unreduce.c:    while (((outpos + outcnt) < ucsize) && (!zipeof)) {
  19.     [James Birdsall, Mark, bottom of BUGS.long]
  20.  - if PK signature not found, append .zip and try again without error 
  21.     messages [Jean-loup, others, bottom of BUGS.long]
  22.  - disk full:  a few files clear some pointer; continuing beyond "Continue?"
  23.     prompt, regardless of answer, kills unzip--stack too small? (doesn't seem
  24.     to matter)  Bug in MSC write() function?  Subsequent write code isn't any 
  25.     different from -t option, so unlikely to be bug in uncompress routines...
  26.     File descriptor bad/close() failure?  (workaround:  ^C at prompt)
  27.  - textfile conversions on a PC system add extra CR to lines which already have
  28.     CR/LF combo; other directions probably don't work, either (Mac/Unix/...):
  29.     rewrite "dos2unix" and make general
  30.  - fix "no errors detected" message for errors occurring *before* extract_or_
  31.     test_files(); count errors?  differentiate between errors and warnings?
  32.  - MSDOS/Windows:  compatible with Win 3.1 only, not 3.0
  33.  
  34.  - OS/2:  directory EAs not restored if directory exists [Kai Uwe, KG27515@uark]
  35.     (subsequent note:  no way to determine which EAs are newer ==> cannot 
  36.     restore without user input)
  37.  
  38.  - VMS unzip no longer sets permissions correctly [should be fixed in 5.1d]
  39.  
  40.  
  41. Features (possible and/or definite):
  42. -----------------------------------
  43.  
  44.  - ignore case for internal filename match on non-Unix systems, unless file-
  45.     specs enclosed in single quotes
  46.  - build in capability to check text/binary type and warn if -a (if version
  47.     < 1.1 and not made on DOS--i.e., not early Info-ZIP versions)
  48.  - allow wildcards in zipfile name (loop through each one)
  49.  - add capability to extract to specified subdirectory [Kevin Fischer, 92.8.24]
  50.  - add "near" to global vars [Steve Salisbury, 92.4.21]
  51.  - construct CRC table dynamically? [Jean-loup, 92.5.12]
  52.  - when listing filenames, use '?' for non-printables? [Thomas Wolff, 92.6.1]
  53.  - modify to decompress input stream if part of a pipe, but continue using
  54.     central directory if not (BIG job!)--extended local header capability
  55.  - test/incorporate Martin Schulz optimization patch (still useful?)
  56.  - add -oo option (overwrite and override):  no user queries (if bad password,
  57.     skip file; if disk full, take default action; if VMS special on non-VMS,
  58.     unpack anyway; etc.)
  59.  - add -Q[Q[Q]] option (quiet mode on comments, cautions, warnings and errors):
  60.     forget -oo, or make synonym?  Default level -Q?
  61.  - rewrite mapname()
  62.  - modify set_file_time routines to share common code (macro?)
  63.  - add zipinfo "in-depth" option? (check local vs. central filenames, etc.)
  64.  - create zipcat program to concatenate zipfiles
  65.  - create zipfix program to rebuild/salvage damaged zipfiles
  66.  - assembly-language routines?
  67.  - CP/M version (Jeffery Foy)
  68.  - VM/CMS version (Chua Kong Sian, others)
  69.  - put man pages in more "proper" nroff format
  70.  - add OS/2 .INF format helpfiles for UnZip and ZipInfo
  71.  
  72.  
  73.  
  74.  
  75. Additional thoughts/reports/arguments/issues (many VMS):
  76. -------------------------------------------------------
  77.  
  78. From: tp@mccall.com (Terry Poot)
  79. Newsgroups: comp.os.vms
  80. Subject: Re: Speeding up VAX C writes
  81. Date: 22 Oct 91 11:48:59 GMT
  82.  
  83. In article <1991Oct21.130745.1018@lsl.co.uk>, paul@lsl.co.uk (Paul Hardy)
  84. writes:
  85. >Some months ago, I remember seeing an item here about how to speed up
  86. >writes from VAX C, in the case where the data being written was binary.
  87.  
  88. Actually, the only trick I know about works no matter what the data is. I'm
  89. talking here about the normal C stream_lf files. You can use other RMS file
  90. types by specifying parameters to fopen, open, or creat, and they may be faster
  91. or slower depending on what you are doing, and how you are doing it. However,
  92. there is a way to speed up most I/O on stream files, in many cases
  93. dramatically.
  94.  
  95. You want to add the argument "mbc=nnn" where nnn is the number of pages of
  96. memory you can spare for I/O buffering. mbc is the RMS field name for the
  97. Multi-Block Count. It tells the C rtl to use a buffer big enough to hold nnn
  98. blocks (blocks are the same size as pages for a little while longer at least,
  99. 512 bytes). Thus rather than reading or writing a block at a time, you can have
  100. it do it 200 blocks at a time, if you can spare 100Kb of memory, or any other
  101. value. (I'm sure there's an upper limit, but I don't know what it is. In
  102. practical terms, for most people it'll probably be PGFLQUO.)
  103.  
  104. BTW, note that I said the C rtl and not RMS. C I/O uses RMS block mode I/O,
  105. which doesn't actually support mbc. It does, however, support whatever buffer
  106. size you choose, as long as it is an integral number of blocks. The designers
  107. of the RTL decided to check for mbc even on normal C stream files and allocate
  108. the buffer size accordingly (Thanks, guys!). This is why specifying mbf, the
  109. multi-buffer size, doesn't do anything. They didn't do multi-buffering, and RMS
  110. doesn't support that either for block mode I/O. (Anyone wanna submit an
  111. enhancement request SPR?)
  112.  
  113. These little tidbits of info are courtesy one of the C RTL developers, from
  114. discussion after a session on C I/O at the DECUS symposium in Las Vegas.
  115.  
  116.  
  117. ------------------------------
  118. From: techentin@Mayo.EDU (Bob Techentin)
  119. Newsgroups: comp.os.vms
  120. Subject: Re: Speeding up VAX C writes
  121.  
  122. Paul Hardy, <paul@lsl.co.uk> asked:
  123.  
  124. >  Some months ago, I remember seeing an item here about how to speed up
  125. >  writes from VAX C, in the case where the data being written was binary.
  126. >
  127. >  We now have an application which is using fopen, then fseek and fwrite,
  128. >  and is taking forever to do the writes. I'm sure that by putting the right
  129. >  magic words in the fopen, we can cut out a lot of the unneccessary work
  130. >  that the C RTL is doing on our behalf.
  131.  
  132. The VAX C RTL function fopen() creates files that are stream-lf by default.  
  133. This is not a natural kind of file for RMS, which prefers record oriented 
  134. structures.  You can use some non-portable options in the fopen() command to 
  135. create record oriented files.   The call:
  136.  
  137.     fp = fopen(filename, access, "ctx=rec");
  138.  
  139. will force the RTL to use record access for read or write - even on a streamlf 
  140. file.  This improves performance significantly.  The call:
  141.  
  142.     fp = fopen(filename, "w", "rfm=var", "rat=cr");
  143.  
  144. will create a variable length record/carriage return carriage control file 
  145. (instead of a stream-lf/no carriage control file), which is what your typical 
  146. text editor creates.  Read and write performance to record structure files is 
  147. even better than just specifying record access.
  148.  
  149. You can use other options documented in the VAX C Run-Time Library Reference 
  150. Manual, creat() function.  We set multibuffer counts, default extensions, and 
  151. read-ahead and write-behind buffering to improve our file performance.
  152.  
  153. Bob Techentin                              Internet: Techentin@Mayo.Edu
  154. Mayo Foundation, Rochester MN, 55905 USA             (507) 284-2702
  155.  
  156.  
  157. ------------------------------
  158. From: Jean-loup Gailly <jloup@chorus.fr>
  159. Subject: Re: unzip 4.12/4.2
  160. Date: Thu, 07 Nov 91 18:17:49 +0100
  161.  
  162. >      - Speaking of EOLs, I completely ignored that whole contro-
  163. >        versy, and I will continue to do so until someone can come
  164. >        up with something which works and on which most of us can
  165. >        agree.
  166.  
  167. You have to wait until zip sets the ascii/binary flag (almost) correctly.
  168. At this point, you will be able to warn if -a is used on binary
  169. files and ask if -a should be ignored for such files (y/n/all).
  170. This proposal is simple and does not seem too controversial.
  171.  
  172.  
  173. ------------------------------
  174. From: Jean-loup Gailly <jloup@chorus.fr>
  175. Subject: unzip problem
  176. Date: Thu, 23 Jan 92 09:17:03 +0100
  177.  
  178. The problem was that both files test and test.zip existed in the
  179. same directory. The command "unzip test" caused unzip to look at
  180. the file test instead of test.zip. I think I already suggested
  181. a long time ago that if unzip fails to find the PK signature
  182. in a zip file, it should check if a file with .zip appended also
  183. exists.
  184.  
  185.  
  186. ------------------------------
  187. Date: Mon, 28 Jan 91 17:39:39 SST
  188. From: Chua Kong Sian <CCECKS%NUSVM.BITNET@CUNYVM.CUNY.EDU>
  189.  
  190. Hi.  I'm attempting to port UNZIP403 to the S/370 mainframe.  In the
  191. PS:  Is anybody else porting it to VM/CMS?
  192.  
  193. Chua Kong Sian
  194. National University of Singapore
  195.  
  196.  
  197. ------------------------------
  198. Date: Wed, 27 Feb 91 14:52:41 EST
  199. From: Michael Regoli <mr@ogre.cica.indiana.edu>
  200.  
  201. Also, it may just be my software version, but there is no stdlib.h in
  202. the IBM distribution of BSD 4.3.  I've always had to comment-out the
  203. #include statement from unzip.h to get it to compile.  Since it was
  204. put under the "random extra stuff" perhaps most systems don't need it? 
  205.  
  206.  
  207. ------------------------------
  208. Date: Sun, 28 Apr 1991 12:19:32 PDT
  209. From: "Jeffery Foy" <foysys!jeffery@cs.washington.edu>
  210.  
  211. Am wondering if anyone else is porting ZIP/Unzip to CP/M. I've been
  212. hacking at Unzip and actually have a working copy. Ah, but ZIP is 
  213.  
  214.  
  215. ------------------------------
  216. Date: Sun, 12 May 91 11:30:40 PDT
  217. From: madler@cobalt.cco.caltech.edu (Mark Adler)
  218.  
  219. James Birdsall cautions:
  220.  
  221. >>    Warning! Do NOT trust PKUNZIP -t. I have a ZIP file which is badly
  222. >> corrupted -- missing about 25K from the end. PKUNZIP -t claims it is OK.
  223.  
  224. Rather alarming.  It is a problem, but it's not as bad as it sounds
  225. initially.
  226.  
  227. I took a look at his zoo201.zip (which has the single entry zoo201.tar)
  228. and here's what I found:
  229.  
  230. 1. Unzip fails with a crc error.
  231. 2. PKUNZIP succeeds, but the resulting file is too short (444416
  232.    compared to the 532480 reported in the zip file).
  233. 3. If I PKZIP that 444416 byte file, I get exactly zoo201.zip back.
  234.    (Except the length entries are 444416 in the local and central
  235.    headers--a total difference of four bytes between the two.)
  236. 4. Unzip thinks that new zip file is ok.
  237. 5. 444416 is multiple of 2048.
  238.  
  239. Conclusions:
  240.  
  241. 1. What's "wrong" in zoo201.zip is the length, not the data.
  242. 2. PKUNZIP doesn't notice this, since it is driven by the compressed
  243.    "size" and not the uncompressed "length".
  244. 3. Unzip *does* notice because it is (apparently) driven by the
  245.    length, and not the size.  (I haven't looked into this yet.)
  246. 4. What must have happened is that there was an error reading the
  247.    original 532480 byte file at the 444417th byte (probably the
  248.    869th 512-byte sector), but PKZIP thought is was just the end of
  249.    file and stopped compressing.
  250.  
  251. Bugs:
  252.  
  253. 1. PKZIP doesn't handle read errors properly, and doesn't check the
  254.    number of bytes read against the size of the file.  (This is not
  255.    a problem with Zip by the way, since it does look for read errors,
  256.    and it sets the length from the number of bytes actually read from
  257.    the file.)
  258. 2. PKUNZIP never looks at the length to see if it decompressed the
  259.    right number of bytes--it only cares if the CRC is right.
  260. 3. Unzip doesn't stop when it runs out of compressed data (otherwise
  261.    it would have gotten the right CRC, as it did with the re-PKZIPped
  262.    version).  Both PKUNZIP and Unzip should only decompress "size"
  263.    bytes and check that "length" bytes were generated.
  264.  
  265. Mark Adler
  266. madler@pooh.caltech.edu
  267.  
  268.  
  269. ------------------------------
  270. Date: Sun, 12 May 91 13:57:15 PDT
  271. From: jwbirdsa@amc.com (James Birdsall)
  272.  
  273. directory at the end of the file. The compressed size is accurate -- for
  274. the amount of data that was included. The uncompressed size is accurate for
  275. the original file. The only difference between the good file I made from
  276.  
  277.    I hypothesize that PKZIP, when creating the bad file, got a premature
  278. EOF when reading the source (which was one big tar file on an NFS-mounted
  279. drive). Assuming it was done, it proceded to button up the file as though
  280.  
  281.  
  282. ------------------------------
  283. Date: Mon, 19 Aug 91 14:16:04 +0200
  284. >From: Jean-loup Gailly <jloup@chorus.fr>
  285.  
  286. But I still think that zip should make a little more effort to
  287. set the file type (ascii/binary) properly. It is impossible to get
  288. 100% accuracy, but that would help unzip to warn about -a used on
  289. binary files. I will try to do this for zip 1.1 if some kind soul
  290. is willing to adapt unzip to take advantage of this file type.
  291.  
  292. Jean-loup
  293.  
  294.  
  295. ------------------------------
  296. From stevesa@microsoft.com Tue Apr 21 20:28:05 1992
  297. To: jloup@chorus.fr
  298. Cc: zip-bugs@CS.UCLA.EDU
  299. Subject: Re: UNZIP suggestion (Buffer Size flexibility)
  300. Date: Tue, 21 Apr 92 17:26:43 PDT
  301.  
  302. Also, Jean-loup added the "near" keyword to all of ZIP 1.6's global variables
  303. (both the extern declarations and the actual definitions) which causes better
  304. code generation for Microsoft C in compact model.  Shouldn't we do the same
  305. for UNZIP 5.X?
  306.  
  307.  
  308. ------------------------------
  309. Date: Wed, 18 Mar 92 06:57:28 PST
  310. From: madler@cco.caltech.edu (Mark Adler)
  311. To: zip-bugs@CS.UCLA.EDU
  312. Subject: Re: yet another zip format extension
  313.  
  314. As for other one-pass implementation details, I have given a
  315. little thought to that.  Unzip should write an auxilary file as
  316. it's unzipping containing enough information to go back and
  317. change attributes, file names, and possibly do some file
  318. conversions, upon encountering the central directory.  I'm
  319. figuring that it can just write all the entries to temporary file
  320. names at the base of where it's supposed to unzip to (or a
  321. specified temporary area), and then move, chmod, or convert files
  322. to where and what they're supposed to be later.  When you get to
  323. the central directory, you start reading the auxilary file for
  324. the temporary names.  We can also use the good old tempf routines
  325. to avoid writing small auxilary files.
  326.  
  327.  
  328. From: pdh@netcom.com (Phil Howard )
  329. Newsgroups: comp.compression
  330. Subject: Re: Wanted: ZIP on VM/CMS
  331. Date: 20 May 92 22:31:24 GMT
  332. Organization: Netcom - Online Communication Services  (408 241-9760 guest)
  333.  
  334. lmfken@lmf.ericsson.se (Kenneth Osterberg) writes:
  335.  
  336. >The subject says it all. Has anybody ported InfoZIP (both compression
  337. >and decompression) to the VM/CMS environment? Any estimates on the
  338. >work involved doing this?
  339.  
  340. One of the problems is how to represent a byte-stream or byte-array
  341. file on VM/CMS.  The conventional way is to store arbitrary sized
  342. pieces of the byte stream as individual variable length records in
  343. a type "V" file.  The record boundaries are arbitrary amd reconstruction
  344. of the original stream is done simply by ignoring those boundaries.
  345.  
  346. This is the way Kermit and FTP usually transfer data in binary mode.
  347.  
  348. However it takes 2 bytes of allocated and addressable CMS file space
  349. to store those boundaries.  Since the lengths are arbitrary, it is not
  350. possible to randomly address a specific byte of the stream itself,
  351. since you really have no way of knowing how many record boundaries
  352. preceed "stream byte N".  You would need to know that to know what
  353. record number that byte is in.
  354.  
  355. You could read the "V" file sequentially, but this is very inefficient
  356. and certainly to be avoided.
  357.  
  358. The other method of representing a byte-stream or byte-array file is
  359. to use a type "F" file (fixed length records) with a record length
  360. of exactly 1.  However there are disadvantages to this as well:
  361.  
  362. 1.  Even though Kermit and FTP can create and handle these files, it is
  363.     not the default.
  364.  
  365. 2.  Many CMS tools read and write files 1 record at a time (instead of
  366.     the more sophisticated and version sensitive method of reading
  367.     and writing many records or whole blocks).  This makes handling of
  368.     such files very slow.  Unzipping a 1 megabyte file might take 30
  369.     seconds whereas copying it to another minidisk could take 30 minutes.
  370.  
  371. 3.  Transferring such files across networks tends to expand on the space
  372.     requirements.  While in transit between VM/CMS systems, such files
  373.     may take up to 3 times the normal space, apparently depending on the
  374.     version of RSCS.
  375.  
  376. 4.  Possibly no or poor support in systems like IBM TSO and DEC VMS.
  377.     I have in the past sent such files to a VMS host, which proceeded
  378.     to store them internally with a CR/LF between each byte (it thought
  379.     they were records) including deleting the bytes with values of
  380.     either 0x40 (EBCDIC space) or 0x0d (CR).  This resulted in an
  381.     ambiguity making the original not reconstructable even if one were
  382.     to write a tool to attempt it.
  383.  
  384. Other representation ideas include:
  385.  
  386. 1.  Use larger fixed length records, with the byte count filled in as
  387.     the first 4 bytes of the first block, or the first 4 bytes of the
  388.     last block, or the last 4 bytes of the last block (block being the
  389.     chosen and agreed on fixed record size, not the DASD blocksize).
  390.  
  391. 2.  Agree on a non-arbitrary record length for the type "V" representation
  392.     originally described.
  393.  
  394. Both of the above ideas would require changes to things like Kermit and
  395. FTP in order to support representing byte-stream data in that way.  This
  396. would require convincing IBM in one case.
  397.  
  398. Further complications to porting ZIP to VM/CMS include many aspects of
  399. the different character code in use (EBCDIC) and what to do with the
  400. files being added or extracted.  One already sees the minor problem of
  401. extracting a text file from a ZIP archive on UNIX to find that it has
  402. these nasty carriage return thingys that stick "^M" on the end of all
  403. the lines when using the "less" program.  It gets worse, MUCH worse,
  404. when dealing with VM/CMS (and I am sure TSO would be worse that CMS).
  405.  
  406. I originally offered to port it, but because of the large amount of work
  407. it would require, and that at the time someone else had offered to do so,
  408. and that I didn't (and still don't) have a C compiler I feel I can work
  409. with (I really was considering translating it all to 370 assembler, which
  410. is a language I can program in as fast as, or faster than, C).  Since
  411. there is no hint of a VM/CMS version of ZIP I suspect the other person
  412. gave up as well.  I wouldn't blame them for it.
  413.  
  414. A version of ARC was ported to VM/CMS.  It required the archive be stored
  415. in a "F 512" file and it produced "F 512" files.  Apparently it was ported
  416. from the CP/M version.  I've used it (a program called "VMARC" is something
  417. else).
  418.  
  419. ------------------------------
  420.  
  421. Date: Wed, 3 Jun 92 13:43:53 EDT
  422. From: davidsen@ariel.crd.ge.com (william E Davidsen)
  423. Subject: unz50i - DECLARE_ERRNO
  424.  
  425. I would suggest that DECLARE_ERRNO be undefined by default, and that only those
  426. systems which fail to define it in the errno.h file turn it on. The current
  427. logic for MSC 6.0 and later doesn't seem to work for sco_dos compile, and
  428. I found errno properly defined without it on MIPS, Ultrix-VAX, Sun, HP-UX,
  429. Convex, etc. I think the exception case, a system with a broken errno.h,
  430. should be the exception rather than the default.
  431.  
  432. ------------------------------
  433.  
  434. Date: Mon, 24 Aug 92 10:34:18 -0700
  435. From: kfischer@SEAS.UCLA.EDU (Kevin J. Fischer)
  436. Subject: unzip suggestion
  437.  
  438. I would suggest that you add the ability to extract to a specific path
  439. to the unzip program.  This would be similar to how PKunzip does it:
  440. PKUNZIP [options] zipfile [d:outpath\] [file...]
  441. Notice that it allows you to specify the outpath before the list of files
  442. to be extracted.
  443.  
  444.  
  445. Date: Wed, 26 Aug 92 14:11:03 MDT
  446. From: "Piet W. Plomp" <piet@asterix.icce.rug.nl>
  447. Subject: unzip: extract to specified directory
  448.  
  449. It is an option I use very much myself too and miss very much in unzip.
  450. So I do *STRONGLY* support the idea, and am willing to help in rewriting
  451. code for that purpose, although I don't have the time to do any coordination.
  452.  
  453. [GRR:  just check for trailing '/' and '\\'?  ']' in VMS?]
  454.  
  455. ------------------------------
  456.  
  457. Date: Thu, 3 Sep 92 11:30:55 EDT
  458. From: briggs@nashua.progress.com (Scott Briggs)
  459. Subject: Re: v31i133: zip19 - Info-ZIP portable Zip, version 1.9, Patch01
  460.  
  461. I have encountered the following problems with you zip and unzip
  462. when used under NT on a NTFS file system.
  463.  
  464. 1) In the file FILEIO.C [zip] you have assumed under NT the 8.3 filename size.
  465.    The structure DIR, field d_name should be changed to:
  466.     char d_name[ MAX_PATH ];  // MAX_PATH=260
  467. 2) When zip'ing on an NTFS filesystem, it seems that the reported length
  468.    of the file and that actual length of the file are not the same.
  469.    I believe this is in FILEIO.C again,  you've placed a #ifdef VMS
  470.    around it and indicated that (VMS record lengths vary?),  this may
  471.    also be the case with NTFS, futher testing seems neccessary.
  472.    The zip'ing fails when this occurs.
  473. 3) Unzip'ing has a similar problem to #2 when the unzip'ing occurs
  474.    on an NTFS filesystem.
  475. 4) Unfortunately I can't recall the exact file, but I believe that you
  476.    also set dosify=1 by default when zip and unzip are compiled on NT.
  477.  
  478. Please remember that NT supports NTFS, FAT, and HPFS filesystems.
  479.  
  480. ------------------------------
  481.  
  482. Date: Wed, 14 Oct 92 06:51:50 GMT
  483. From: James R. Van Artsdalen <james@bigtex.cactus.org>
  484. Subject: unzip 5.0 bug
  485.  
  486. I have a file, which when compressed by either zip 1.9p1 (using -9) or
  487. pkzip 1.93a (using -ex), cannot be unzipped by unzip 5.0.  unzip 5.0
  488. also fails the CRC check on the zipped files when the "-t" option is
  489. used.
  490.  
  491. pkunzip 1.93a fails the CRC test on the file compressed by zip 1.9p1;
  492. I don't know if this is a problem or not.
  493.  
  494. pkunzip 1.93a does pass the CRC test on the file compressed by pkzip 1.93a.
  495. pkunzip 1.93a does unzip the pkzip'd file correctly.
  496.  
  497. unzip 5.0 does test the zip 1.9p1-produced file correctly when the one
  498. of the options -0, -1, -2, -3, -4, -5, -7 or -8 is used with zip 1.9p1.
  499.  
  500. The uncompressed file is ~ 38 MB.  unix compress(1) gets ~ 18.8 MB,
  501. and pkzip 1.93a gets 13 MB with -ex.
  502.  
  503. ------------------------------
  504.  
  505.  
  506. ------------------------------
  507.  
  508.  
  509. ------------------------------
  510. ------------------------------
  511.